Functional Link Training and Testing Program

Outline

1. Purpose; 
2. Network Characteristics;
3. Files Needed or Produced
4. Example Run of Functional Link Program
5. Error Functions



1. Purpose; 
 a. Initialize and train a functional link mapping network using 
      a fast training method.
 b. Process a data file having no desired outputs.
 c. Non-demo version saves weights to a disk file.
 
2. Network Characteristics;
 a. Activation Functions; Linear output units 
 b. Net Functions; polynomial functions of the inputs, with 
        user-chosen degrees of 1 to 5.

3. Files Needed or Produced
 a. The network structure file; stores the number of inputs and outputs, 
        and the polynomial degree.
 b. The training or testing data file, which gives example inputs 
     and outputs for network learning, or for testing after learning.
     Al data files are in formatted, standard form, which means that 
     each pattern or feature vector is followed by the desired outputs.

4. Example Run of Functional Link Program
 a. Go to the "Batch Processing" option and press <ret>
 b. Observe the parameter file with commented keyboard responses;

1             ! train network
1             ! use old network structure
GLS.tp        ! old network structure filename
GLS           ! data filename
0             ! read all training data
1             ! examine some data
1 2           ! examine patterns 1 and 2 (training begins here)
3             ! stop

    The program will read all patterns from the file gls, and train a
    functional link net using the network structure file gls.tp, which
    is shown below.
           3           4           1
          35           1

    The network will be 3rd degree with 4 inputs and 1 output. The 
    final network weights will not be stored in the demo version.
 c. Exit the DOS editor and observe the program running
 d. Go to the "Examine Program Output" option and press <ret>
 e. You can run this program on your own data, simply by editing the 
    parameter file in the "batch Run" option.


5. Error Functions

 a. The error function that is being minimized during functional link
    training is

                   Nout      
    MSE = (1/Npat) SUM MSE(k)     where
                   k=1  

              Npat              2
    MSE(k) =  SUM [ Tpk - Opk ]
              p=1  

    where Npat is the number of training patterns, Nout is the number 
    of network output nodes, Tpk is the desired output for the pth
    training pattern and the kth output, and Opk is the actual output
    for the pth training pattern and the kth output. MSE is printed
    for each iteration.

 b. Additional errors printed out are defined as follows.
    The rms error of the kth output, RMS(k), is SQRT( MSE(k)/Npat ),
    where SQRT means square root.

    The kth output's Relative RMS Error is

    R(k) = SQRT( MSE(k)/E(k) ) where

            Npat           2
    E(k) =  SUM [ Opk-Mk ]      and
            p=1  

                  Npat 
    Mk = (1/Npat) SUM  Opk 
                  p=1  

    The kth output's Error Variance is MSE(k)/Npat.
